import cn.idev.excel.annotation.ExcelProperty;
import io.gitee.cengxiaoxiao.annotations.DictConvert;
import io.gitee.cengxiaoxiao.enums.DictType;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

public class ExcelData {

    @ExcelProperty(value = {"1", "ID"})
    private Long id;
    @ExcelProperty(value = {"1", "名称"})
    private String name;
    @ExcelProperty(value = {"2", "电话"})
    private String phone;
    @ExcelProperty(value = {"2", "日期"})
    private LocalDate date;
    @ExcelProperty(value = "时间")
    private LocalTime time;
    @ExcelProperty(value = "日期时间")
    private LocalDateTime dateTime;
    @ExcelProperty(value = "金额")
    private BigDecimal money;
    @ExcelProperty(value = "价格")
    private Double price;

    @ExcelProperty(value = "性别")
    @DictConvert(type = DictType.GENDER, codeToText = false)
    private String gender;

    public ExcelData() {
    }

    public ExcelData(Long id, String name, String phone, LocalDate date,
                     LocalTime time, LocalDateTime dateTime,
                     BigDecimal money, Double price, String gender) {
        this.id = id;
        this.name = name;
        this.phone = phone;
        this.date = date;
        this.time = time;
        this.dateTime = dateTime;
        this.money = money;
        this.price = price;
        this.gender = gender;
    }

    public String getGender() {
        return gender;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public LocalDate getDate() {
        return date;
    }

    public void setDate(LocalDate date) {
        this.date = date;
    }

    public LocalTime getTime() {
        return time;
    }

    public void setTime(LocalTime time) {
        this.time = time;
    }

    public LocalDateTime getDateTime() {
        return dateTime;
    }

    public void setDateTime(LocalDateTime dateTime) {
        this.dateTime = dateTime;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }
}
